`
https://leetcode.cn/problems/verify-preorder-serialization-of-a-binary-tree/
`

/**
 * @param {string} preorder
 * @return {boolean}
 */
var isValidSerialization = function (preorder) {
  const nodes = preorder.split(',')
  // 一条指向根节点的虚拟边
  let edge = 1

  for (const node of nodes) {
    // 如果是空结点
    if (node === '#') {
      // 消耗一条边
      edge -= 1
      if (edge < 0) return false
    }
    // 如果不是空结点
    else {
      // 消耗一条边
      edge -= 1
      if (edge < 0) return false
      // 增加两条边
      edge += 2
    }
  }

  return edge === 0
};